home *** CD-ROM | disk | FTP | other *** search
-
- Network Working Group J. Postel
- Request for Comments: 857 J. Reynolds
- ISI
- Obsoletes: NIC 15390 May 1983
-
- TELNET ECHO OPTION
-
-
- This RFC specifies a standard for the ARPA Internet community. Hosts on
- the ARPA Internet are expected to adopt and implement this standard.
-
- 1. Command Name and Code
-
- ECHO 1
-
- 2. Command Meanings
-
- IAC WILL ECHO
-
- The sender of this command REQUESTS to begin, or confirms that it
- will now begin, echoing data characters it receives over the
- TELNET connection back to the sender of the data characters.
-
- IAC WON'T ECHO
-
- The sender of this command DEMANDS to stop, or refuses to start,
- echoing the data characters it receives over the TELNET connection
- back to the sender of the data characters.
-
- IAC DO ECHO
-
- The sender of this command REQUESTS that the receiver of this
- command begin echoing, or confirms that the receiver of this
- command is expected to echo, data characters it receives over the
- TELNET connection back to the sender.
-
- IAC DON'T ECHO
-
- The sender of this command DEMANDS the receiver of this command
- stop, or not start, echoing data characters it receives over the
- TELNET connection.
-
- 3. Default
-
- WON'T ECHO
-
- DON'T ECHO
-
- No echoing is done over the TELNET connection.
-
- 4. Motivation for the Option
-
-
- Postel & Reynolds [Page 1]
-
-
-
- RFC 857 May 1983
-
-
- The NVT has a printer and a keyboard which are nominally
- interconnected so that "echoes" need never traverse the network; that
- is to say, the NVT nominally operates in a mode where characters
- typed on the keyboard are (by some means) locally turned around and
- printed on the printer. In highly interactive situations it is
- appropriate for the remote process (command language interpreter,
- etc.) to which the characters are being sent to control the way they
- are echoed on the printer. In order to support such interactive
- situations, it is necessary that there be a TELNET option to allow
- the parties at the two ends of the TELNET connection to agree that
- characters typed on an NVT keyboard are to be echoed by the party at
- the other end of the TELNET connection.
-
- 5. Description of the Option
-
- When the echoing option is in effect, the party at the end performing
- the echoing is expected to transmit (echo) data characters it
- receives back to the sender of the data characters. The option does
- not require that the characters echoed be exactly the characters
- received (for example, a number of systems echo the ASCII ESC
- character with something other than the ESC character). When the
- echoing option is not in effect, the receiver of data characters
- should not echo them back to the sender; this, of course, does not
- prevent the receiver from responding to data characters received.
-
- The normal TELNET connection is two way. That is, data flows in each
- direction on the connection independently; and neither, either, or
- both directions may be operating simultaneously in echo mode. There
- are five reasonable modes of operation for echoing on a connection
- pair:
-
-
- <----------------
-
- Process 1 Process 2
- ---------------->
- Neither end echoes
-
-
- <----------------
- \
- Process 1 / Process 2
- ---------------->
- One end echoes for itself
-
-
-
-
-
-
- Postel & Reynolds [Page 2]
-
-
-
- RFC 857 May 1983
-
-
-
- <----------------
- \
- Process 1 / Process 2
- ---------------->
- One end echoes for the other
-
-
- <----------------
- \ /
- Process 1 / \ Process 2
- ---------------->
- Both ends echo for themselves
-
-
- <----------------
- \ /
- Process 1 / \ Process 2
- ---------------->
- One end echoes for both ends
-
- This option provides the capability to decide on whether or not
- either end will echo for the other. It does not, however, provide
- any control over whether or not an end echoes for itself; this
- decision must be left to the sole discretion of the systems at each
- end (although they may use information regarding the state of
- "remote" echoing negotiations in making this decision).
-
- It should be noted that if BOTH hosts enter the mode of echoing
- characters transmitted by the other host, then any character
- transmitted in either direction will be "echoed" back and forth
- indefinitely. Therefore, care should be taken in each implementation
- that if one site is echoing, echoing is not permitted to be turned on
- at the other.
-
- As discussed in the TELNET Protocol Specification, both parties to a
- full-duplex TELNET connection initially assume each direction of the
- connection is being operated in the default mode which is non-echo
- (non-echo is not using this option, and the same as DON'T ECHO, WON'T
- ECHO).
-
- If either party desires himself to echo characters to the other party
- or for the other party to echo characters to him, that party gives
- the appropriate command (WILL ECHO or DO ECHO) and waits (and hopes)
- for acceptance of the option. If the request to operate the
- connection in echo mode is refused, then the connection continues to
- operate in non-echo mode. If the request to operate the connection
- in echo mode is accepted, the connection is operated in echo mode.
-
-
- Postel & Reynolds [Page 3]
-
-
-
- RFC 857 May 1983
-
-
- After a connection has been changed to echo mode, either party may
- demand that it revert to non-echo mode by giving the appropriate
- DON'T ECHO or WON'T ECHO command (which the other party must confirm
- thereby allowing the connection to operate in non-echo mode). Just
- as each direction of the TELNET connection may be put in remote
- echoing mode independently, each direction of the TELNET connection
- must be removed from remote echoing mode separately.
-
- Implementations of the echo option, as implementations of all other
- TELNET options, must follow the loop preventing rules given in the
- General Considerations section of the TELNET Protocol Specification.
- Also, so that switches between echo and non-echo mode can be made
- with minimal confusion (momentary double echoing, etc.), switches in
- mode of operation should be made at times precisely coordinated with
- the reception and transmission of echo requests and demands. For
- instance, if one party responds to a DO ECHO with a WILL ECHO, all
- data characters received after the DO ECHO should be echoed and the
- WILL ECHO should immediately precede the first of the echoed
- characters.
-
- The echoing option alone will normally not be sufficient to effect
- what is commonly understood to be remote computer echoing of
- characters typed on a terminal keyboard--the SUPPRESS-GO AHEAD option
- will normally have to be invoked in conjunction with the ECHO option
- to effect character-at-a-time remote echoing.
-
- 6. A Sample Implementation of the Option
-
- The following is a description of a possible implementation for a
- simple user system called "UHOST".
-
- A possible implementation could be that for each user terminal, the
- UHOST would keep three state bits: whether the terminal echoes for
- itself (UHOST ECHO always) or not (ECHO mode possible), whether the
- (human) user prefers to operate in ECHO mode or in non-ECHO mode, and
- whether the connection from this terminal to the server is in ECHO or
- non-ECHO mode. We will call these three bits P(hysical), D(esired),
- and A(ctual).
-
- When a terminal dials up the UHOST the P-bit is set appropriately,
- the D-bit is set equal to it, and the A-bit is set to non-ECHO. The
- P-bit and D-bit may be manually reset by direct commands if the user
- so desires. For example, a user in Hawaii on a "full-duplex"
- terminal, would choose not to operate in ECHO mode, regardless of the
- preference of a mainland server. He should direct the UHOST to
- change his D-bit from ECHO to non-ECHO.
-
- When a connection is opened from the UHOST terminal to a server, the
-
-
- Postel & Reynolds [Page 4]
-
-
-
- RFC 857 May 1983
-
-
- UHOST would send the server a DO ECHO command if the MIN (with
- non-ECHO less than ECHO) of the P- and D-bits is different from the
- A-bit. If a WON'T ECHO or WILL ECHO arrives from the server, the
- UHOST will set the A-bit to the MIN of the received request, the
- P-bit, and the D-bit. If this changes the state of the A-bit, the
- UHOST will send off the appropriate acknowledgment; if it does not,
- then the UHOST will send off the appropriate refusal if not changing
- meant that it had to deny the request (i.e., the MIN of the P-and
- D-bits was less than the received A-request).
-
- If while a connection is open, the UHOST terminal user changes either
- the P-bit or D-bit, the UHOST will repeat the above tests and send
- off a DO ECHO or DON'T ECHO, if necessary. When the connection is
- closed, the UHOST would reset the A-bit to indicate UHOST echoing.
-
- While the UHOST's implementation would not involve DO ECHO or DON'T
- ECHO commands being sent to the server except when the connection is
- opened or the user explicitly changes his echoing mode, bigger hosts
- might invoke such mode switches quite frequently. For instance,
- while a line-at-a-time system were running, the server might attempt
- to put the user in local echo mode by sending the WON'T ECHO command
- to the user; but while a character-at-a-time system were running, the
- server might attempt to invoke remote echoing for the user by sending
- the WILL ECHO command to the user. Furthermore, while the UHOST will
- never send a WILL ECHO command and will only send a WON'T ECHO to
- refuse a server sent DO ECHO command, a server host might often send
- the WILL and WON'T ECHO commands.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Postel & Reynolds [Page 5]
-
-